package main

import (
	"fmt"
	"strconv"
)

func largestNumber(nums []int) string {
	// 临时数组
	tempArr := make([]int, 10)
	for i := 0; i < 10; i ++ {
		tempArr[i] = -1
	}

	for i, v := range nums {
		// 取出每一个数， 提取最高位的数字
		byteOne := []byte(strconv.Itoa(v))[0]
		// fmt.Println(string(byteOne))
		index, _ := strconv.Atoi(string(byteOne))
		tempArr[index] = i
	}
	result := ""
	// 倒着遍历tempArr
	fmt.Println(tempArr)
	for j := 9; j >= 0; j -- {
		if tempArr[j] != -1 {
			result += strconv.Itoa(nums[tempArr[j]])
		}
	}
	return result
}

func main() {
	fmt.Println(largestNumber([]int{3,30,34,5,9}))
}
